package com.zonacardio.persistencia;
import java.util.ArrayList;
import java.util.List;
import com.zonacardio.entidad.*;
import java.sql.*;

public class Daos {

   public Daos() {
    }

        public Usuario ValidarUsuario(Connection con, String clave, String usuario) {
        Usuario u = new Usuario();
        u.setUsuario("0");
        try {// iniciar para controlar errores(exepciones)
            PreparedStatement us = con.prepareStatement(SqlHelper.ValidarUsuario(clave, usuario));
            ResultSet r = us.executeQuery();
            while (r.next()) {
                u.setCodigo(r.getString(1));
                u.setNombre(r.getString(2));
                u.setUsuario(r.getString(3));
                u.setClave(r.getString(4));
                u.setPerfil(r.getString(5));
                u.setFechaCreacion(r.getString(6));
            }
        } catch (Exception e) {
            e.printStackTrace();
            System.out.print("" + e.getCause());
            return null;
        } finally {
            try {
                con.close();
            } catch (Exception c) {
            }
        }
        return u;
    }

    public String insertarUsuario(Connection con,String codigo,String nombre, String usuario, String clave, String perfil, String fechaCreacion) {
        String result = "";
        try {
            String sql = SqlHelper.insertUsuarios();
            PreparedStatement pr = con.prepareStatement(sql);

            pr.setString(1, codigo);
            pr.setString(2, nombre);
            pr.setString(3, usuario);
            pr.setString(4, clave);
            pr.setString(5, perfil);
            pr.setString(6, fechaCreacion);

            pr.execute();
        } catch (Exception ex) {
            System.out.println(ex);
        } finally {
            try {
                con.close();
            } catch (Exception clo) {
            }
        }
        return result;
    }

    public Usuario BuscarUsuario(Connection con, String codigo) {
        Usuario c = new Usuario();
        c.setUsuario("0");
        // usuario,clave, perfil, estado


        try {
            PreparedStatement cl = con.prepareStatement(SqlHelper.getUsuarios(codigo));
            ResultSet r = cl.executeQuery();
            while (r.next()) {
                c.setCodigo(r.getString(1));
                c.setNombre(r.getString(3));
                c.setUsuario(r.getString(2));
                c.setClave(r.getString(4));
                c.setPerfil(r.getString(5));
                c.setFechaCreacion(r.getString(6));
            }
        } catch (Exception e) {
            e.printStackTrace();
            return c;

        } finally {
            try {
                con.close();
            } catch (Exception ex) {
            }

        }
        return c;
    }

    public List<Usuario> ListarUsuarios(Connection con) {
        List<Usuario> resul = new ArrayList<Usuario>();
        //    c.setId("no existe");
        try {
            PreparedStatement p = con.prepareStatement(SqlHelper.getUsuarios());
            ResultSet r = p.executeQuery();
            while (r.next()) {
                Usuario c = new Usuario();
                c.setCodigo(r.getString(1));
                c.setUsuario(r.getString(3));
                c.setNombre(r.getString(2));
                c.setClave(r.getString(4));
                c.setPerfil(r.getString(5));
                c.setFechaCreacion(r.getString(6));
                c.setLiga(r.getString(7));
                resul.add(c);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                con.close();
            } catch (Exception ex) {
            }
        }
        return resul;
    }

    public String actualizarUsuario(Connection con,String codigo, String usuario, String nombre, String clave, String perfil, String FechaCreacion) {
        String result = "";
        try {
            String sql = SqlHelper.updateUsuarios();
            PreparedStatement p = con.prepareStatement(sql);

            p.setString(1, codigo);
            p.setString(2, nombre);
            p.setString(5, perfil);
            p.setString(6, FechaCreacion);
            p.setString(4, clave);
            p.setString(3, usuario);
            p.execute();
        } catch (Exception ex) {
            result = "El error es: " + ex.getMessage();
        } finally {
            try {
                con.close();
            } catch (Exception clo) {
            }
        }
        return result;
    }
//>>>>>>>>>>>>>>>>>>Venta Planes<<<<<<<<<<<<<<<<

    public String insertVentaPlan(Connection con, String codigoplan, String numero_documento_deportista, String fechaventa, 
             String codigoventa, String iva, String usuariocreador,String valor) {
        String result = "";
        try {
            //String sql=SQLHelpers.insertPlan();
            /*
             * INSERT INTO tblventaplanes(codigoplanes, numero_documento_deportistas, fechaventa, codigoventa, iva, usuariocreador )" +
                "VALUES (?,?,?,?,?,?);";
    }
             */
            PreparedStatement pr = (PreparedStatement) con.prepareStatement(SqlHelper.insertVentaPlan());
            pr.setString(1, codigoplan);
            pr.setString(2, numero_documento_deportista);
            pr.setString(3, fechaventa);
            pr.setString(4, codigoventa);
            pr.setString(5, iva);
            pr.setString(6, usuariocreador);
            pr.setString(7, valor);
            
            pr.execute();
            if(pr.getUpdateCount()==1){
               result = "Venta agregda ";

            }else{
               result = "Error agregar ";

            }
        } catch (Exception ex) {
            result += "Error " + ex.getMessage();
           // System.out.print(result);
        } finally {
            try {
                con.close();
            } catch (Exception clo) {
            }
        }
        return result;
    }//fin insertar
  /* return "UPDATE  zonacardio.tblplan SET codigo = ?," +
    "descripcion = ?, costo = ?,valor = ?,fechacreacion =  ?,usuariocreador = ? WHERE = ?";
     */

    public String deleteRegistroAsistencia (Connection con, String cod)

    {
        String result="";
        try{
            //String sql=SQLHelpers.insertUsuario();
            PreparedStatement pr= con.prepareStatement(SqlHelper.deleteRegistroAsistencia(cod));
            pr.execute();
            if (pr.getUpdateCount()>=1){
                 result= "El Registro de Asistencia fue eliminado satisfactoriamente "  ;
            }
        }
        catch (Exception ex) {
            result= "Error inesperado: " + ex.getMessage() ;
        }
        finally{
            try{
                con.close();
            }
            catch (Exception clo){
                }
            }
            return result;
    }

    
    
    public String updateVentaPlan(Connection con, String codigoplan, String numero_documento_deportista, String fechaventa, String iva, String usuariocreador, String codigoventa) {
        String result = "";
        try {

            PreparedStatement pr = con.prepareStatement(SqlHelper.updateVentaPlan());
            pr.setString(1, codigoplan);
            pr.setString(2, numero_documento_deportista);
            pr.setString(3, fechaventa);
            pr.setString(4, iva);
            pr.setString(5, usuariocreador);
            pr.setString(6, codigoventa);
            pr.execute();
            if (pr.getUpdateCount() >= 1) {
                result = "Plan modificado sactisfactoriamente";
            } else {
                result = "Plan no fué modificado ";
            }
        } catch (Exception ex) {
            result = "Ha ocurrido un error:" + ex.getMessage();
        } finally {
            try {
                con.close();
            } catch (Exception clo) {
            }
        }
        return result;
    }//fin Actualizar

    public VentaPlanes getVentaPlan(Connection con, String codigoventa) {
        VentaPlanes u = new VentaPlanes();
        u.setCodigoventa("0");
        try { // iniciar para controlar errores (exepciones)
            PreparedStatement us = con.prepareStatement(SqlHelper.getVentaPlan(codigoventa));
            ResultSet r = us.executeQuery();
            while (r.next()) {
                u.setCodigoplanes(r.getString(1));
                u.setNumero_documento_deportistas(r.getString(2));
                u.setFechaventa(r.getString(3));
                u.setCodigoventa(r.getString(4));
                u.setIva(r.getString(5));
                u.setUsuariocreador(r.getString(6));
                 u.setEstado(r.getString(7));
            }

        } catch (Exception e) {
            e.printStackTrace();
            System.out.print("" + e.getCause());
            return null;

        } finally {
            try {
                con.close();
            } catch (Exception c) {
            }
        }
        return u;

    }
      public VentaPlanes getVentaPlanDeporitista(Connection con, String ideportista) {
           VentaPlanes u = new VentaPlanes();
           System.out.println(SqlHelper.getVentaPlanDeporitista(ideportista));
        try { // iniciar para controlar errores (exepciones)
            PreparedStatement us = con.prepareStatement(SqlHelper.getVentaPlanDeporitista(ideportista));
            ResultSet r = us.executeQuery();
            while (r.next()) {
                u.setCodigoplanes(r.getString(1));
                u.setNumero_documento_deportistas(r.getString(2));
                u.setFechaventa(r.getString(3));
                u.setCodigoventa(r.getString(4));
                u.setIva(r.getString(5));
                u.setUsuariocreador(r.getString(6));
                u.setEstado(r.getString(7));
            }

        } catch (Exception e) {
            e.printStackTrace();
            System.out.print("" + e.getCause());
            return null;

        } finally {
            try {
                con.close();
            } catch (Exception c) {
            }
        }
        return u;

    }

    public List<VentaPlanes> ListaDeVentaPlanes(Connection con) {
        List<VentaPlanes> resultados = new ArrayList<VentaPlanes>();
        try {
            PreparedStatement p = con.prepareStatement(SqlHelper.getVentaPlanes());
            ResultSet r = p.executeQuery();
            while (r.next()) {
                VentaPlanes c = new VentaPlanes();
                c.setCodigoplanes(r.getString(1));
                c.setNumero_documento_deportistas(r.getString(2));
                c.setFechaventa(r.getString(3));
                c.setCodigoventa(r.getString(4));
                c.setIva(r.getString(5));
                c.setUsuariocreador(r.getString(6));
                c.setEstado(r.getString(7));
                resultados.add(c);
            }//fin while

        } catch (Exception e) {
            e.printStackTrace();
            System.out.print("Planes " + e.getMessage());
        } finally {
            try {
                con.close();
            } catch (Exception ex) {
            }
        }
        return resultados;
    }//FIN LIST

    public String deleteVentaPlan(Connection con, String cod) {
        String result = "";
        try {
            //String sql=SQLHelpers.insertUsuario();
            PreparedStatement pr = con.prepareStatement(SqlHelper.deleteVentaPlan(cod));
            pr.execute();
            if (pr.getUpdateCount() >= 1) {
                result = "El plan fue eliminado satisfactoriamente ";
            }
        } catch (Exception ex) {
            result = "Error inesperado: " + ex.getMessage();
        } finally {
            try {
                con.close();
            } catch (Exception clo) {
            }
        }
        return result;
    }
    //Manejo de plan ------------:D-------------------
   /*return "SELECT codigo, descripcion, costo, valor, fechacreacion, usuariocreador" +
    " FROM tblusuario " +
    " WHERE usuario='" +user+ "'";
     */

    
    
    public String insertPlan(Connection con, String codigo, String descripcion, String valor, String costo, String ganancia, String fechacreacion, String usuariocreador, String cantidaddias, String vigenciadias) {
        String result = "";
        try {
            //String sql=SQLHelpers.insertPlan();
            PreparedStatement pr = con.prepareStatement(SqlHelper.insertPlan());
            pr.setString(1, codigo);
            pr.setString(2, descripcion);
            pr.setString(4, costo);
            pr.setString(3, valor);
            pr.setString(5, ganancia);
            pr.setString(6, fechacreacion);
            pr.setString(7, usuariocreador);
            pr.setString(8, cantidaddias);
            pr.setString(9, vigenciadias);
            pr.execute();
            if (pr.getUpdateCount()==1){
            result="Plan ingresado satisfactoriamente";
            }else{
            
            result="Ha ocurrido un Error";
            }
        } catch (Exception ex) {
            result = " " + ex.getMessage();
            System.out.print(result);
        } finally {
            try {
                con.close();
            } catch (Exception clo) {
            }
        }
        return result;
    }//fin insertar
  /* return "UPDATE  zonacardio.tblplan SET codigo = ?," +
    "descripcion = ?, costo = ?,valor = ?,fechacreacion =  ?,usuariocreador = ? WHERE = ?";
     */

 public String updatePlan(Connection con, String descripcion,String valor,String costo, String ganancia, String fechacreacion, String usuariocreador, String cantidaddias, String vigenciadias, String codigo) {
        String result = "";
        try {

            PreparedStatement pr = con.prepareStatement(SqlHelper.updatePlan());
            pr.setString(1, descripcion);
            pr.setString(3, costo);
            pr.setString(2, valor);
            pr.setString(4, ganancia);
            pr.setString(5, fechacreacion);
            pr.setString(6, usuariocreador);
            pr.setString(7, cantidaddias);
            pr.setString(8, vigenciadias);
            pr.setString(9, codigo);
            pr.execute();
            if (pr.getUpdateCount() >= 1) {
                result = "Plan modificado sactisfactoriamente";
            } else {
                result = "Plan no fué modificado ";
            }
        } catch (Exception ex) {
            result = "Ha ocurrido un error:" + ex.getMessage();
        } finally {
            try {
                con.close();
            } catch (Exception clo) {
            }
        }
        return result;
    }//fin Actualizar

    public Plan getPlan(Connection con, String codigo) {
        Plan u = new Plan();
        u.setCodigo("0");
        try { // iniciar para controlar errores (exepciones)
            PreparedStatement us = con.prepareStatement(SqlHelper.getPlan(codigo));
            ResultSet r = us.executeQuery();
            while (r.next()) {
                u.setCodigo(r.getString(1));
                u.setDescripcion(r.getString(2));
                u.setCosto(r.getString(3));
                u.setValor(r.getString(4));
                u.setGanancia(r.getString(5));
                u.setFechacreacion(r.getString(6));
                u.setUsuariocreador(r.getString(7));
                u.setCantidaddias(r.getString(8));
                u.setVigenciadias(r.getString(9));


            }

        } catch (Exception e) {
            e.printStackTrace();
            System.out.print("" + e.getCause());
            return null;

        } finally {
            try {
                con.close();
            } catch (Exception c) {
            }
        }
        return u;

    }
    
    public List<Plan> ListaDePlanes(Connection con) {
        List<Plan> resultados = new ArrayList<Plan>();
        try {
            PreparedStatement p = con.prepareStatement(SqlHelper.getPlanes());
            ResultSet r = p.executeQuery();
            while (r.next()) {
                Plan c = new Plan();
                c.setCodigo(r.getString(1));
                c.setDescripcion(r.getString(2));
                c.setCosto(r.getString(3));
                c.setValor(r.getString(4));
                c.setGanancia(r.getString(5));
                c.setFechacreacion(r.getString(6));
                c.setUsuariocreador(r.getString(7));
                c.setCantidaddias(r.getString(8));
                c.setVigenciadias(r.getString(9));
                c.setLiga(r.getString(10));
                
               //Crear lista crear nodos
                resultados.add(c);
            }//fin while

        } catch (Exception e) {
            e.printStackTrace();
            System.out.print("Planes " + e.getMessage());
        } finally {
            try {
                con.close();
            } catch (Exception ex) {
            }
        }
        return resultados;
    }
    
     public List<Plan> ListaTraerPlan(Connection con, String cod ) {
        List<Plan> resultados = new ArrayList<Plan>();
        try {
            PreparedStatement p = con.prepareStatement(SqlHelper.getPlan(cod));
            ResultSet r = p.executeQuery();
            while (r.next()) {
                Plan c = new Plan();
                c.setCodigo(r.getString(1));
                c.setDescripcion(r.getString(2));
                c.setCosto(r.getString(3));
                c.setValor(r.getString(4));
                c.setGanancia(r.getString(5));
                c.setFechacreacion(r.getString(6));
                c.setUsuariocreador(r.getString(7));
                c.setCantidaddias(r.getString(8));
                c.setVigenciadias(r.getString(9));


                resultados.add(c);
            }//fin while

        } catch (Exception e) {
            e.printStackTrace();
            System.out.print("Planes " + e.getMessage());
        } finally {
            try {
                con.close();
            } catch (Exception ex) {
            }
        }
        return resultados;
    }
    
    
    public String deletePlan(Connection con, String cod) {
        String result = "";
        try {
            //String sql=SQLHelpers.insertUsuario();
            PreparedStatement pr = con.prepareStatement(SqlHelper.deletePlan(cod));
            pr.execute();
            if (pr.getUpdateCount() >= 1) {
                result = "El plan fue eliminado satisfactoriamente ";
            }
        } catch (Exception ex) {
            result = "Error inesperado: " + ex.getMessage();
        } finally {
            try {
                con.close();
            } catch (Exception clo) {
            }
        }
        return result;
    }

   public String insertarDeportistas(Connection con, String TipoDocumento, String numerodocumento, String nombre1, String nombre2, String apellido1,
            String apellido2, String telefono, String celular, String correo_electronico, String direccion, String barrio,
            String genero, String fecha_ingreso, String usuariocreador) {
        String result = "";
        try {
            String sql = SqlHelper.insertDeportistas();
            PreparedStatement pr = con.prepareStatement(sql);
            pr.setString(1, TipoDocumento);
            pr.setString(2, numerodocumento);
            pr.setString(3, nombre1);
            pr.setString(4, nombre2);
            pr.setString(5, apellido1);
            pr.setString(6, apellido2);
            pr.setString(7, telefono);
            pr.setString(8, celular);
            pr.setString(9, correo_electronico);
            pr.setString(10, direccion);
            pr.setString(11, barrio);
            pr.setString(12, genero);
            pr.setString(13, fecha_ingreso);
            pr.setString(14, usuariocreador);
            pr.execute();
        } catch (Exception ex) {
            result = "<b><Font color='red'>Error : " + ex.getMessage() + " </font><br></b>";
        } finally {
            try {
                con.close();
            } catch (Exception clo) {
            }
        }
        return result;
    }

    public Deportistas BuscarDeportistas(Connection con, String ideportista) {
        Deportistas c = new Deportistas();
        c.setnumerodocumento("0");
       
         /*
 TipoDocumento,numerodocumento,nombre1,nombre2,apellido1,apellido2, telefono,celular " +
                "correo_electronico,direccion,barrio,genero,fecha_ingreso,usuariocreador
          */

        try {
            PreparedStatement cl = con.prepareStatement(SqlHelper.getDeportistas(ideportista));
            ResultSet r = cl.executeQuery();
            while (r.next()) {

                c.setTipoDocumento(r.getString(1));
                c.setnumerodocumento(r.getString(2));
                c.setnombre1(r.getString(3));
                c.setnombre2(r.getString(4));
                c.setapellido1(r.getString(5));
                c.setapellido2(r.getString(6));
                c.settelefono(r.getString(7));
                c.setcelular(r.getString(8));
                c.setcorreo_electronico(r.getString(9));
                c.setdireccion(r.getString(10));
                c.setbarrio(r.getString(11));
                c.setgenero(r.getString(12));
                c.setfecha_ingreso(r.getString(13));
                c.setusuariocreador(r.getString(14));

            }
        } catch (Exception e) {
            e.printStackTrace();
            return c;

        } finally {
            try {
                con.close();
            } catch (Exception ex) {
            }

        }
        return c;
    }

    public List<Deportistas> ListarDeportistas(Connection con) {
        List<Deportistas> result = new ArrayList<Deportistas>();
        //    c.setId("no existe");
        try {
            PreparedStatement p = con.prepareStatement(SqlHelper.getDeportistas());
            ResultSet r = p.executeQuery();
            while (r.next()) {
                Deportistas c = new Deportistas();

                c.setTipoDocumento(r.getString(1));
                c.setnumerodocumento(r.getString(2));
                c.setnombre1(r.getString(3));
                c.setnombre2(r.getString(4));
                c.setapellido1(r.getString(5));
                c.setapellido2(r.getString(6));
                c.settelefono(r.getString(7));
                c.setcelular(r.getString(8));
                c.setcorreo_electronico(r.getString(9));
                c.setdireccion(r.getString(10));
                c.setbarrio(r.getString(11));
                c.setgenero(r.getString(12));
                c.setfecha_ingreso(r.getString(13));
                c.setusuariocreador(r.getString(14));
                c.setLiga(r.getString(15));
                result.add(c);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                con.close();
            } catch (Exception ex) {
            }
        }
        return result;
    }

    public String updateDeportistas(Connection con, String TipoDocumento, String numerodocumento, String nombre1, String nombre2, String apellido1,
            String apellido2, String telefono, String celular, String correo_electronico, String direccion, String barrio, String genero, String fecha_ingreso, String usuariocreador) {
        String result = "";

        try {
            
            /*
             * UPDATE  tblDeportistas SET " +
                "TipoDocumento = ?, nombre1 = ?, nombre2 = ? ,apellido1 = ?, apellido2 = ?," +
                " telefono = ?, celular= ?, correo_electronico= ?, direccion = ?, " +
                "barrio = ?,genero = ?,fecha_ingreso = ?,usuariocreador = ? where numerodocumento=? ";
             * 
             */
            
            

            String sql = SqlHelper.updateDeportistas();
            PreparedStatement pr = con.prepareStatement(sql);
            pr.setString(1, TipoDocumento);
         
            pr.setString(2, nombre1);
            pr.setString(3, nombre2);
            pr.setString(4, apellido1);
            pr.setString(5, apellido2);
            pr.setString(6, telefono);
            pr.setString(7, celular);
            pr.setString(8, correo_electronico);
            pr.setString(9, direccion);
            pr.setString(10, barrio);
            pr.setString(11, genero);
            pr.setString(12, fecha_ingreso);
            pr.setString(13, usuariocreador);
           pr.setString(14, numerodocumento);
            pr.execute();
        } catch (SQLException e) {
            result = "Error " + e.getMessage();
        }
        try {
            con.close();
        } catch (Exception e) {
            return "Error  " + e.getMessage();
        }


        return result;
    }

    public String DeleteDeportistas(Connection con, String numerodocumento) {

        String resultado = "";

        try {

            PreparedStatement pst = con.prepareStatement(SqlHelper.deleteDeportistas(numerodocumento));
            pst.execute();

            if (pst.getUpdateCount() == 1) {
                resultado = " El Depotristas fue  eliminado";
            } else {
                resultado = "El Deportistas no fue eliminado";
            }

        } catch (Exception e) {
        }

        try {
            con.close();
        } catch (Exception e) {
            return "Error al borrar  " + e.getMessage();
        }


        return resultado;




    }

    /*-----------------Registro de asistencia--------------------------*/
public String insertRegistroAsistencia (Connection con, String codigo, String numeroDocumentoDeportistas, String codigoPlanes, String fechaIngreso, String horaIngreso,
        String horaTerminacion, String fechaUltimoIngreso,String usuarioCreador,String codigoventa)

    {
        String result="";
        try{
            
            PreparedStatement pr= con.prepareStatement(SqlHelper.insertRegistroAsistencia());
            pr.setString(1,codigo);
            
            pr.setString(2,numeroDocumentoDeportistas);
            
            pr.setString(3,codigoPlanes);
            
            pr.setString(4,fechaIngreso);
            
            pr.setString(5,horaIngreso);
            
            pr.setString(6,horaTerminacion);
            
            pr.setString(7,fechaUltimoIngreso);
            
            pr.setString(8,usuarioCreador);
             pr.setString(9,codigoventa);
            System.out.println(codigo);
          /*  System.out.println(numeroDocumentoDeportistas);
            System.out.println(codigoPlanes);
            System.out.println(fechaIngreso);
            System.out.println(horaIngreso);
            System.out.println(horaTerminacion);
            System.out.println(fechaUltimoIngreso);
            System.out.println(usuarioCreador);*/
            pr.execute();
            if(pr.getUpdateCount()==1){
                  result= "Asistencia agrgada con éxito";
        }else{
               result= "Error al agregar registro";   
                
                
            }
        }
        catch (Exception ex) {
            result+= " "+ex.getMessage()+ "Causa "+ex.getCause();
            System.out.print(result);
        }
        finally{
            try{
                con.close();
            }
            catch (Exception clo){
                result="Error al cerrar";
                
                }
            }
            return result;
    }//fin insertar


  public String updateRegistroAsistencia (Connection con, String numeroDocumentoDeportistas, String codigoPlanes, String fechaIngreso, String horaIngreso, String horaTerminacion, String fechaUltimoIngreso,String usuarioCreador, String codigo)

    {
        String result="";
        try{

            PreparedStatement pr= con.prepareStatement(SqlHelper.updateRegistroAsistencia());
            pr.setString(1,numeroDocumentoDeportistas);
            pr.setString(2,codigoPlanes);
            pr.setString(3,fechaIngreso);
            pr.setString(4,horaIngreso);
            pr.setString(5,horaTerminacion);
            pr.setString(6,fechaUltimoIngreso);
            pr.setString(7,usuarioCreador);
            pr.setString(8,codigo);
            pr.execute();
            if (pr.getUpdateCount()>=1){
              result="Plan modificado sactisfactoriamente";
            }else{
                result="Plan no fué modificado ";
            }
        }
        catch (Exception ex) {
             result="Ha ocurrido un error:"+ex.getMessage();
        }
        finally{
            try{
                con.close();
            }
            catch (Exception clo){
                }
            }
            return result;
    }//fin Actualizar


  public RegistroAsistencia getRegistroAsistencia(Connection con, String codigo)
  {
   RegistroAsistencia u = new RegistroAsistencia();
   u.setCodigo("0");
   try { // iniciar para controlar errores (exepciones)
       PreparedStatement us= con.prepareStatement(SqlHelper.getRegistroAsistencia(codigo));
       ResultSet r= us.executeQuery();
       while(r.next()){
           u.setCodigo(r.getString(1));
           u.setNumeroDocumentoDeportistas(r.getString(2));
           u.setCodigoPlanes(r.getString(3));
           u.setFechaIngreso(r.getString(4));
           u.setHoraIngreso(r.getString(5));
           u.setHoraTerminacion(r.getString(6));
           u.setFechaUltimoIngreso(r.getString(7));
           u.setUsuarioCreador(r.getString(8));
            u.setCodigoventa(r.getString(9));
           

       }

   }catch (Exception e){
       e.printStackTrace();
       System.out.print(""+e.getCause());
       return null;

   }finally{
       try{ con.close();}catch(Exception c){}
   }
   return u;

  }

   public RegistroAsistencia getRegistroAsistenciaPorDeportista(Connection con, String ideportista)
  {
   RegistroAsistencia u = new RegistroAsistencia();
   u.setCodigo("0");
   try { // iniciar para controlar errores (exepciones)
       PreparedStatement us= con.prepareStatement(SqlHelper.getRegistroAsistenciaPorDocumento(ideportista));
       ResultSet r= us.executeQuery();
       while(r.next()){
           u.setCodigo(r.getString(1));
           u.setNumeroDocumentoDeportistas(r.getString(2));
           u.setCodigoPlanes(r.getString(3));
           u.setFechaIngreso(r.getString(4));
           u.setHoraIngreso(r.getString(5));
           u.setHoraTerminacion(r.getString(6));
           u.setFechaUltimoIngreso(r.getString(7));
           u.setUsuarioCreador(r.getString(8));
              u.setCodigoventa(r.getString(9));

       }

   }catch (Exception e){
       e.printStackTrace();
       System.out.print(""+e.getCause());
       return null;

   }finally{
       try{ con.close();}catch(Exception c){}
   }
   return u;

  }

  
  
  
  
  public List<RegistroAsistencia> ListaRegistroAsistencia(Connection con) {
    List<RegistroAsistencia> resultados = new ArrayList<RegistroAsistencia>();
      try{
    PreparedStatement p= con.prepareStatement(SqlHelper.getRegistroAsistencia());
    ResultSet r= p.executeQuery();
    while(r.next()){
    RegistroAsistencia c= new RegistroAsistencia();
    c.setCodigo(r.getString(1));
    c.setNumeroDocumentoDeportistas(r.getString(2));
    c.setCodigoPlanes(r.getString(3));
    c.setFechaIngreso(r.getString(4));
    c.setHoraIngreso(r.getString(5));
    c.setHoraTerminacion(r.getString(6));
    c.setFechaUltimoIngreso(r.getString(7));
    c.setUsuarioCreador(r.getString(8));
      c.setCodigoventa(r.getString(9));

   resultados.add(c);
    }//fin while

    } catch (Exception e){
    e.printStackTrace();
     System.out.print("Registros de asistencias " +  e.getMessage() );
    } finally{
    try {
    con.close();
    } catch (Exception ex) { }
    }
    return resultados;
    }//FIN LIST

   public List<RegistroAsistencia> ListaRegistroAsistencia(Connection con, String idDeportista) {
    List<RegistroAsistencia> resultados = new ArrayList<RegistroAsistencia>();
      try{
    PreparedStatement p= con.prepareStatement(SqlHelper.getRegistroAsistenciaPorDocumento(idDeportista));
    ResultSet r= p.executeQuery();
    while(r.next()){
    RegistroAsistencia c= new RegistroAsistencia();
    c.setCodigo(r.getString(1));
    c.setNumeroDocumentoDeportistas(r.getString(2));
    c.setCodigoPlanes(r.getString(3));
    c.setFechaIngreso(r.getString(4));
    c.setHoraIngreso(r.getString(5));
    c.setHoraTerminacion(r.getString(6));
    c.setFechaUltimoIngreso(r.getString(7));
    c.setUsuarioCreador(r.getString(8));
    c.setCodigoventa(r.getString(9)); 
   resultados.add(c);
    }//fin while

    } catch (Exception e){
    e.printStackTrace();
     System.out.print("Registros de asistencias " +  e.getMessage() );
    } finally{
    try {
    con.close();
    } catch (Exception ex) { }
    }
    return resultados;
    }//FIN LIST


  public String updateVentaPlanesVencido (Connection con, String codVentaPlan)

    {
        String result="";
        try{
            //String sql=SQLHelpers.insertUsuario();
            PreparedStatement pr= con.prepareStatement(SqlHelper.updateAplanVentaVencido(codVentaPlan));
            pr.execute();
            if (pr.getUpdateCount()>=1){
                 result= "El plan  "+ codVentaPlan +" Ha vencido"  ;
            }
        }
        catch (Exception ex) {
            result= "Error Inesperado: " + ex.getMessage() ;
        }
        finally{
            try{
                con.close();
            }
            catch (Exception clo){
                }
            }
            return result;
    }

public String getConsecutivoAsistencia (Connection con,String codigoventa)
    {
        String result="";
        try{
            //String sql=SQLHelpers.insertUsuario();
            PreparedStatement pr= con.prepareStatement(SqlHelper.getConsecutivoAsistencia(codigoventa));
          ResultSet R = pr.executeQuery();
            while (R.next()){
                 result= R.getString(1) ;
            }
        }
        catch (Exception ex) {
            result= "Error inesperado: " + ex.getMessage() ;
        }
        finally{
            try{
                con.close();
            }
            catch (Exception clo){
                }
            }
            return result;
    }


public String getConsecutivoVentaPlan (Connection con)
    {
        String result="";
        try{
            //String sql=SQLHelpers.insertUsuario();
          PreparedStatement pr= con.prepareStatement(SqlHelper.getConsecutivoVentaPlan());
          ResultSet R = pr.executeQuery();
            while (R.next()){
                 result= R.getString(1) ;
            }
        }
        catch (Exception ex) {
            result= "Error inesperado: " + ex.getMessage() ;
        }
        finally{
            try{
                con.close();
            }
            catch (Exception clo){
                }
            }
            return result;
    }
public String getConsecutivoUsuario (Connection con)
    {
        String result="";
        try{
            //String sql=SQLHelpers.insertUsuario();
          PreparedStatement pr= con.prepareStatement(SqlHelper.getConsecutivoUsuario());
          ResultSet R = pr.executeQuery();
            while (R.next()){
                 result= R.getString(1) ;
            }
        }
        catch (Exception ex) {
            result= "Error inesperado: " + ex.getMessage() ;
        }
        finally{
            try{
                con.close();
            }
            catch (Exception clo){
                }
            }
            return result;
    }

public String getConsecutivoPlan (Connection con)
    {
        String result="";
        try{
            //String sql=SQLHelpers.insertUsuario();
          PreparedStatement pr= con.prepareStatement(SqlHelper.getConsecutivoPlan());
          ResultSet R = pr.executeQuery();
            while (R.next()){
                 result= R.getString(1) ;
            }
        }
        catch (Exception ex) {
            result= "Error inesperado: " + ex.getMessage() ;
        }
        finally{
            try{
                con.close();
            }
            catch (Exception clo){
                }
            }
            return result;
    }

public String getDiasAsistencias(Connection con,String codVenta)
    {
        String result="t";
        try{
            //String sql=SQLHelpers.insertUsuario();
          PreparedStatement pr= con.prepareStatement(SqlHelper.getNroAsistencias(codVenta));
          ResultSet R = pr.executeQuery();
            while (R.next()){
                 result= R.getString(1) ;
            }
        }
        catch (Exception ex) {
            result= "Error inesperado: " + ex.getMessage() ;
        }
        finally{
            try{
                con.close();
            }
            catch (Exception clo){
                }
            }
            return result;
    }


// Reportes de ventas
 public List<VentaPlanes> ReporteDeVentaPlanes(Connection con,String cadena) {
        List<VentaPlanes> resultados = new ArrayList<VentaPlanes>();
        System.out.println(SqlHelper.getReportesVentas(cadena));
        try {
            PreparedStatement p = con.prepareStatement(SqlHelper.getReportesVentas(cadena));
            ResultSet r = p.executeQuery();
            while (r.next()) {
                VentaPlanes c = new VentaPlanes();
                /*SELECT vp.codigoplanes,p.descripcion "
           + ", vp.numero_documento_deportistas," +
           " d.nombre1, d.nombre2 , d.apellido1,d.apellido2," +
           " vp.fechaventa, vp.codigoventa, vp.iva,"
           + " vp.valor,vp.usuariocreador, vp.estado " +
                */
                c.setCodigoplanes(r.getString(1));
                c.setNombreplan(r.getString(2));
                c.setNumero_documento_deportistas(r.getString(3));
                c.setNombre1(r.getString(4));
                c.setNombre2(r.getString(5));
                c.setApellido1(r.getString(6));
                c.setApellido2(r.getString(7));
                c.setFechaventa(r.getString(8));
                c.setCodigoventa(r.getString(9));
                c.setIva(r.getString(10));
                c.setValor(r.getString(11));
                
                c.setUsuariocreador(r.getString(12));
                c.setEstado(r.getString(13));
                resultados.add(c);
            }//fin while

        } catch (Exception e) {
            e.printStackTrace();
            System.out.print("Planes " + e.getMessage());
        } finally {
            try {
                con.close();
            } catch (Exception ex) {
            }
        }
        return resultados;
    }//FIN LIST





  


}// fin clase



